package de.stefanocke.roo.wicket;

import java.lang.annotation.Annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Marks a Method as a factory method for a wicket component.
 * wicket4roo will search for the best matching factory method by considering
 * the type and annotation
 * attributes of this annotation.
 * 
 * @author stoc
 * 
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface RooFactoryMethod {

	//String kind;  //FormField or decoration?
	
	Class<?>[] modelClasses() default {};

	Class<? extends Annotation>[] requiredAnnotations() default {};

}
